Шаг 136 - Использование полей со списком в формах HTML

Если форма HTML содержит команду <SELECT MULTIPLE…>, приложение Internet Database Connector преобразует элементы команды в список, который может использоваться в файле IDC точно так же, как другие параметры. Параметр является списком, поэтому, как правило, применяется в предложении IN оператора Select, как показано в следующих примерах.

Если имя параметра в файле IDC заключено в одинарные кавычки, каждый элемент списка должен их использовать. Имя параметра заключается в кавычки всякий раз, когда столбец в предложении IN содержит текст или другой тип, применяющий литералы (например тип дата/время). Если одинарные кавычки отсутствуют в имени параметра, они отсутствуют в элементах списка. Не следует применять кавычки, если столбцы предложения IN имеют числовой тип.

Например, если форма HTML содержит поле со списком:

<SELECT MULTIPLE NAME="region"> 
<OPTION VALUE="Western"> 
<OPTION VALUE="Eastern"> 
<OPTION VALUE="Northern"> 
<OPTION VALUE="Southern"> 
</SELECT> 

в файле IDC можно задать оператор SQLStatement:

SQLStatement: SELECT name, region FROM customer WHERE region IN ('%region%') 

Если пользователь выбирает значения Northern, Western и Eastern в форме HTML, оператор SQL может быть преобразован следующим образом:

SELECT name, region FROM customer WHERE region IN ('Northern', 'Western', 'Eastern') 

Другой пример, использующий числовые данные, показан ниже (в файле IDC отсутствуют одинарные кавычки):

<SELECT MULTIPLE NAME="year"> 
<OPTION VALUE="1994"> 
<OPTION VALUE="1995"> 
<OPTION VALUE="1996"> 
</SELECT> 

Оператор SQLStatement в файле IDC:

SQLStatement: SELECT product, sales_year FROM sales WHERE sales_year IN (%year%) 

Если пользователь выбирает значения 1994 и 1995 в форме HTML, оператор SQL может быть преобразован следующим образом:

SELECT product, sales_year FROM sales WHERE sales_year IN (1994, 1995) 
Hosted by uCoz